package com.hsnn.medstgmini.subscribe.service;

import java.util.List;

import com.hsnn.medstgmini.subscribe.model.BidSubscribeDetail;
import com.hsnn.medstgmini.subscribe.model.BidSubscribeRecord;
import com.hsnn.medstgmini.util.Pagination;

/**
 * @category 预约记录SERVICE 接口
 * @author 韩守松
 * @date 2015年8月31日
 */
public interface BidSubscribeRecordManager {
	/**
	 * @category 保存预约企业信息
	 * @author 韩守松
	 * @date   2015年9月1日
	 * @param  @param bidSubscribeRecord
	 */
	void save(BidSubscribeRecord bidSubscribeRecord);
	
	/**
	 * @category 获取生产企业预约记录信息
	 * @author 韩守松
	 * @date   2015年9月1日
	 * @param  @param page
	 * @param  @param bidSubscribeDetail
	 * @param  @param bidSubscribeRecord
	 * @param  @return
	 */
	Pagination getSubscribeRecordList(Pagination page,BidSubscribeDetail bidSubscribeDetail,BidSubscribeRecord bidSubscribeRecord);
	
	/**
	 * @category 更新企业记录信息
	 * @author 韩守松
	 * @date   2015年9月2日
	 * @param  @param bidSubscribeRecord
	 * @param  @return
	 */
	void update(BidSubscribeRecord bidSubscribeRecord);
	
	/**
	 * @category 获取指定详情id 企业数量
	 * @author 韩守松
	 * @date   2015年9月7日
	 * @param  @param bidSubscribeDetailId
	 * @param  @return
	 */
	Integer getCompIdNumber(String bidSubscribeDetailId);
	
	/**
	 * @category 获取已预约过的企业数
	 * @author 韩守松
	 * @date   2015年9月17日
	 * @param  @param compId
	 * @param  @param bidSubscribeId
	 * @param  @return
	 */
	String getCompNum(String compId,String bidSubscribeId,String bidSubscribeDetailId);
	
	/**
	 * @category 获取成功预约后地址信息
	 * @author 韩守松
	 * @date   2015年9月17日
	 * @param  @param compId
	 * @param  @param bidSubscribeId
	 * @param  @return
	 */
	@SuppressWarnings("rawtypes")
	List getSuccessData(String compId,String bidSubscribeId);
	
	/**
	 * @category 根据预约规则Id 企业Id,及已预约数量不等于0 确定 预约记录中预约详情id
	 * @author 韩守松
	 * @date   2015年9月25日
	 * @param  @param bidSubscribeDetail
	 * @param  @param compId
	 * @param  @return
	 */
	BidSubscribeRecord getHaveRecordId(BidSubscribeDetail bidSubscribeDetail,String compId);
}

